//package com.tinyseed.emcp.api.crawler.service.impl;
//
//import cn.hutool.json.JSONObject;
//import com.tinyseed.emcp.api.basicdata.domain.Enterprise;
//import com.tinyseed.emcp.api.basicdata.repository.EnterpriseRepository;
//import com.tinyseed.emcp.api.crawler.service.CrawlerService;
//import com.tinyseed.emcp.api.crawler.service.utils.ExceptionInfoMapper;
//import com.tinyseed.emcp.api.exception.entity.ExceptionInfo;
//import com.tinyseed.emcp.api.exception.repository.ExceptionInfoRepository;
////import com.tinyseed.emcp.crawler.service.ExceptionCrawService;
//import com.tinyseed.tools.sms.domain.SmsAlarmParam;
//import com.tinyseed.tools.sms.service.SmsService;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import java.sql.Timestamp;
//import java.text.SimpleDateFormat;
//import java.time.LocalDate;
//import java.time.LocalDateTime;
//import java.time.ZoneId;
//import java.time.ZonedDateTime;
//import java.time.format.DateTimeFormatter;
//import java.util.List;
//import java.util.Optional;
//
///**
// * @version Revision 1.0.0
// * @版权：
// * @author: Howard
// * @email:
// * @see:
// * @创建日期：2020/3/12
// * @功能说明：统一爬虫实现类
// * @begin
// * @修改记录:
// * @修改后版本 修改人        修改内容
// * @2020/3/12 wuxiran        创建
// * @end
// */
//@Service
//@Slf4j
//public class CrawlerServiceImpl implements CrawlerService {
//
////    @Autowired
////    private ExceptionCrawService exceptionCrawService;
//
//    @Autowired
//    private ExceptionInfoRepository exceptionInfoRepository;
//
//    @Autowired
//    private EnterpriseRepository enterpriseRepository;
//
//    @Autowired
//    private SmsService smsService;
//
//    @Override
//    public void insertExceptionInfoByCrawler() {
//        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
//        ZoneId zoneId = ZoneId.of("+08:00");
//        // 获取 当前系统默认时区 的 本地时间
//        ZonedDateTime nowDateTime = LocalDateTime.now().atZone(zoneId);
//
//        // 格式化时间
//        List<JSONObject> list = exceptionCrawService.crawlerJAException("1", "20");
//        List<ExceptionInfo> exceptionInfos = ExceptionInfoMapper.convertExceptionInfo(list);
//        exceptionInfos.forEach(item -> {
//            if (!exceptionInfoRepository.existsByJaId(item.getJaId())) {
//                sendSMS(item);
//                exceptionInfoRepository.save(item);
//            }else{
//                ExceptionInfo info = exceptionInfoRepository.findByJaId(item.getJaId());
//                if(info.getSmsIssuedStatus()==null||info.getSmsIssuedStatus().equals("N")){
//                    sendSMS(info);
//                    exceptionInfoRepository.save(info);
//                }
//            }
//        });
//        log.info(list.toString());
//    }
//
//
//    private ExceptionInfo sendSMS(ExceptionInfo item){
//        SimpleDateFormat formatters = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        String s8 = formatters.format(item.getCreateTime());
//
//        SmsAlarmParam smsAlarmParam = SmsAlarmParam.builder().time(s8)
//                .monitor(item.getMonitorName())
//                .enterprise(item.getEnterpriseName())
//                .alarmMsg("该设备未正常运行!")
//                .build();
//        Enterprise e = enterpriseRepository.findByEnterpriseName(item.getEnterpriseName());
//
//        Optional.ofNullable(e.getLegalPhone() ).ifPresent((phone)->{
//            smsService.defaultSendMsg(phone,smsAlarmParam);
//            item.setSmsIssuedStatus("Y");
//            item.setModifyTime(new Timestamp(System.currentTimeMillis()));
//        });
//
//        return item;
//
//    }
//    @Override
//    public void dayInsert(){
//        List<JSONObject> list = exceptionCrawService.crawlerJAException("1", "1000");
//        List<ExceptionInfo> exceptionInfos = ExceptionInfoMapper.convertExceptionInfo(list);
//        exceptionInfos.forEach(item -> {
//            if (!exceptionInfoRepository.existsByJaId(item.getJaId())) {
//                exceptionInfoRepository.save(item);
//            }
//        });
//    }
//
//    @Override
//    public void insert1000Exception() {
//        String startTime = "2020-05-05";
//        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
//        LocalDate localDate = LocalDate.from(formatter.parse(startTime));
//        //今天
//        LocalDate nowDay = LocalDate.now();
//        for (; localDate.compareTo(nowDay) < 1; localDate = localDate.plusDays(1)) {
//
//            startTime = formatter.format(localDate);
//            log.info(startTime);
//
//            List<JSONObject> list = exceptionCrawService.crawlerJAException("1", "1000", startTime, startTime);
//            List<ExceptionInfo> exceptionInfos = ExceptionInfoMapper.convertExceptionInfo(list);
//            exceptionInfos.forEach(item -> {
//                item.setSmsIssuedStatus("Y");
//
//                if (!exceptionInfoRepository.existsByJaId(item.getJaId())) {
//                    exceptionInfoRepository.save(item);
//                }
//            });
//
//        }
//
//    }
//
//}
